home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 2010 April
/
PCWorld0410.iso
/
hity wydania
/
Ubuntu 9.10 PL
/
karmelkowy-koliberek-desktop-9.10-i386-PL.iso
/
casper
/
filesystem.squashfs
/
etc
/
bash_completion.d
/
ufw
< prev
next >
Wrap
Text File
|
2009-09-23
|
2KB
|
88 lines
#
# Copyright 2009 Canonical Ltd.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 3,
# as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Based on work by Didier Roche <didrocks@ubuntu.com>
#
_ufw_commands()
{
commands=$(ufw --help | sed -e '1,/^Commands:/d' -e '/^Application profile commands:/Q' -e 's/^[ \t]\+\([a-z|]\+\)[ \t]\+.*/\1/g' -e 's/|/ /g' | uniq)
echo "$commands app"
}
_ufw_app_commands()
{
ufw --help | sed -e '1,/^Application profile commands:/d' -e '/^ [^ ]/!d' -e 's/[ \t]\+app[ \t]\+\([a-z|]\+\)[ \t]\+.*/\1/g'
}
_ufw_logging_commands()
{
echo "off on low medium high full"
}
_ufw_default_commands()
{
echo "allow deny reject"
}
_ufw_rule_commands()
{
echo "`_ufw_default_commands` limit"
}
_ufw_show_commands()
{
echo "raw"
}
_ufw_status_commands()
{
echo "numbered verbose"
}
have ufw &&
_ufw()
{
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
if [ $COMP_CWORD -eq 1 ]; then
COMPREPLY=( $( compgen -W "$(_ufw_commands)" $cur ) )
elif [ $COMP_CWORD -eq 2 ]; then
case "$prev" in
app)
COMPREPLY=( $( compgen -W "$(_ufw_app_commands)" $cur ) )
;;
status)
COMPREPLY=( $( compgen -W "$(_ufw_status_commands)" $cur ) )
;;
delete)
COMPREPLY=( $( compgen -W "$(_ufw_rule_commands)" $cur ) )
;;
logging)
COMPREPLY=( $( compgen -W "$(_ufw_logging_commands)" $cur ) )
;;
show)
COMPREPLY=( $( compgen -W "$(_ufw_show_commands)" $cur ) )
;;
default)
COMPREPLY=( $( compgen -W "$(_ufw_default_commands)" $cur ) )
;;
esac
fi
}
[ "$have" ] && complete -F _ufw ufw